import {createApp, nextTick} from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import VueLazyLoad from 'vue-lazyload';
// 引入进度条
import nProgress from 'nprogress'
// 引入进度条的样式
// 想要更改进度条颜色也需要修改这个文件中的css样式
import '@/assets/nprogress.css'
// 引入svg配置
import 'virtual:svg-icons-register'
import Message from "@/components/common/message/index";

console.log('运行环境', import.meta.env.MODE)

// 配置去掉小圆圈样式
nProgress.configure({ showSpinner: false })
// 配置vue
createApp(App)
    .use(router)
    .use(store)
    .use(Message)
    .use(VueLazyLoad, {
        // preLoad: 1.3, // 预加载图片的宽高比
        loading: 'https://img.mikufufu.com/image/top-test.webp', // 加载过程中的占位图
        error: 'https://img.mikufufu.com/image/top-test.webp', // 加载失败时显示的图片
        attempt: 3 // 加载图片尝试的次数
    })
    /* 禁止图片拖拽 对标签有v-no-drag属性的标签禁止拖拽*/
    .directive('no-drag', {
        mounted(el: HTMLElement) {
            el.ondragstart = function(e) {
                e.preventDefault();
            };
        }
    })
    .mount('#app')

/* 全局注册禁止事件 */
nextTick(() => {
    /* 禁止右键 */
    document.addEventListener('contextmenu', (e: MouseEvent) => {
        const target = e.target as HTMLElement;
        if (target && target.tagName === 'IMG') {
            e.preventDefault();
        }
    });
    /* 禁止拖拽 */
    // 在DOM渲染完成后，添加全局事件监听器
    document.addEventListener('dragstart', (e) => {
        if (e.target && (e.target as HTMLElement).tagName === 'IMG') {
            e.preventDefault();
        }
    })
}).then(() => {
    console.log('全局注册完成')
})
